matrix tree theorem